/**
 * Company 数据模型接口定义
 * @typedef {Object} Company
 * @property {string|number} id - 企业ID
 * @property {string} name - 企业名称
 * @property {string} logo - 企业logo URL
 * @property {string} industry - 所属行业
 * @property {string} description - 企业简介
 * @property {number} establishedYear - 成立年份
 * @property {string} employees - 员工规模
 * @property {string} revenue - 营收规模
 * @property {string} address - 企业地址
 * @property {string} [website] - 官网地址
 * @property {string[]} tags - 企业标签
 * @property {boolean} isSettled - 是否已入驻
 * @property {string} [settledDate] - 入驻时间
 * @property {Object} [contactInfo] - 联系信息
 * @property {string} [contactInfo.phone] - 联系电话
 * @property {string} [contactInfo.email] - 联系邮箱
 */

/**
 * 验证企业数据格式
 * @param {Company} company - 企业数据对象
 * @returns {boolean} 是否有效
 */
export function validateCompany(company) {
  if (!company || typeof company !== 'object') {
    return false;
  }

  const requiredFields = [
    'id', 'name', 'logo', 'industry', 'description',
    'establishedYear', 'employees', 'revenue', 'address',
    'tags', 'isSettled'
  ];

  for (const field of requiredFields) {
    if (!(field in company)) {
      return false;
    }
  }

  if (!Array.isArray(company.tags)) {
    return false;
  }

  if (typeof company.isSettled !== 'boolean') {
    return false;
  }

  if (typeof company.establishedYear !== 'number' || company.establishedYear < 1800) {
    return false;
  }

  return true;
}

/**
 * 格式化企业数据
 * @param {Company} company - 原始企业数据
 * @returns {Company} 格式化后的企业数据
 */
export function formatCompany(company) {
  return {
    ...company,
    name: company.name.trim(),
    description: company.description.trim(),
    tags: company.tags.map(tag => tag.trim()),
    logo: company.logo || getDefaultLogo(company.name),
  };
}

/**
 * 获取默认logo（使用企业名称首字母）
 * @param {string} name - 企业名称
 * @returns {string} 默认logo标识
 */
export function getDefaultLogo(name) {
  return name.charAt(0).toUpperCase();
}

/**
 * 根据ID获取企业信息
 * @param {string|number} id - 企业ID
 * @returns {Company|undefined} 企业信息
 */
export function getCompanyById(id) {
  return companies.find(company => company.id === id);
}

/**
 * 根据行业筛选企业
 * @param {string} industry - 行业名称
 * @returns {Company[]} 企业列表
 */
export function getCompaniesByIndustry(industry) {
  return companies.filter(company => company.industry === industry);
}

/**
 * 获取所有西宁生态文旅·数字视界中心
 * @returns {Company[]} 西宁生态文旅·数字视界中心列表
 */
export function getSettledCompanies() {
  return companies.filter(company => company.isSettled);
}

/**
 * 模拟企业数据
 * @type {Company[]}
 */
export const companies = [
  {
    id: 1,
    name: '华为技术有限公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=华为',
    industry: '通信设备',
    description: '全球领先的ICT基础设施和智能终端提供商，致力于把数字世界带入每个人、每个家庭、每个组织，构建万物互联的智能世界。',
    establishedYear: 1987,
    employees: '10万+',
    revenue: '8914亿元',
    address: '广东省深圳市龙岗区坂田华为基地',
    website: 'https://www.huawei.com',
    tags: ['5G', '云计算', '人工智能', '物联网'],
    isSettled: true,
    settledDate: '2023-01-15',
    contactInfo: {
      phone: '0755-28780808',
      email: 'contact@huawei.com'
    }
  },
  {
    id: 2,
    name: '腾讯科技有限公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=腾讯',
    industry: '互联网',
    description: '中国领先的互联网增值服务提供商，通过互联网服务提升人类生活品质。旗下拥有微信、QQ、腾讯游戏等知名产品。',
    establishedYear: 1998,
    employees: '8万+',
    revenue: '5545亿元',
    address: '广东省深圳市南山区腾讯大厦',
    website: 'https://www.tencent.com',
    tags: ['社交网络', '游戏', '金融科技', '云服务'],
    isSettled: true,
    settledDate: '2023-02-20',
    contactInfo: {
      phone: '0755-86013388',
      email: 'contact@tencent.com'
    }
  },
  {
    id: 3,
    name: '比亚迪股份有限公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=比亚迪',
    industry: '新能源汽车',
    description: '全球新能源汽车引领者，业务布局涵盖电子、汽车、新能源和轨道交通等领域，致力于用技术创新满足人们对美好生活的向往。',
    establishedYear: 1995,
    employees: '28万+',
    revenue: '4240亿元',
    address: '广东省深圳市龙岗区葵涌比亚迪路',
    website: 'https://www.byd.com',
    tags: ['电动汽车', '电池技术', '新能源', '智能制造'],
    isSettled: true,
    settledDate: '2023-03-10',
    contactInfo: {
      phone: '0755-89888888',
      email: 'contact@byd.com'
    }
  },
  {
    id: 4,
    name: '大疆创新科技有限公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=大疆',
    industry: '无人机',
    description: '全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商，客户遍布全球100多个国家，占据全球消费级无人机70%以上的市场份额。',
    establishedYear: 2006,
    employees: '1.4万+',
    revenue: '280亿元',
    address: '广东省深圳市南山区高新南四道18号',
    website: 'https://www.dji.com',
    tags: ['无人机', '影像技术', '智能飞行', '机器人'],
    isSettled: true,
    settledDate: '2023-04-05',
    contactInfo: {
      phone: '0755-26656677',
      email: 'contact@dji.com'
    }
  },
  {
    id: 5,
    name: '宁德时代新能源科技股份有限公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=宁德',
    industry: '新能源',
    description: '全球领先的锂离子电池研发制造公司，专注于新能源汽车动力电池系统、储能系统的研发、生产和销售，致力于为全球新能源应用提供一流解决方案。',
    establishedYear: 2011,
    employees: '7万+',
    revenue: '3285亿元',
    address: '福建省宁德市蕉城区漳湾镇新港路2号',
    website: 'https://www.catl.com',
    tags: ['动力电池', '储能系统', '新能源', '绿色科技'],
    isSettled: true,
    settledDate: '2023-05-12',
    contactInfo: {
      phone: '0593-8999999',
      email: 'contact@catl.com'
    }
  },
  {
    id: 6,
    name: '小米科技有限责任公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=小米',
    industry: '智能硬件',
    description: '以手机、智能硬件和IoT平台为核心的互联网公司，致力于让全球每个人都能享受科技带来的美好生活。',
    establishedYear: 2010,
    employees: '3.5万+',
    revenue: '2800亿元',
    address: '北京市海淀区清河中街68号',
    website: 'https://www.mi.com',
    tags: ['智能手机', 'IoT', '智能家居', '消费电子'],
    isSettled: true,
    settledDate: '2023-06-18',
    contactInfo: {
      phone: '010-60606666',
      email: 'contact@mi.com'
    }
  },
  {
    id: 7,
    name: '海康威视数字技术股份有限公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=海康',
    industry: '安防监控',
    description: '全球领先的以视频为核心的智能物联网解决方案和大数据服务提供商，业务聚焦于智能物联网、大数据服务和智慧业务。',
    establishedYear: 2001,
    employees: '4.2万+',
    revenue: '814亿元',
    address: '浙江省杭州市滨江区阡陌路555号',
    website: 'https://www.hikvision.com',
    tags: ['视频监控', '人工智能', '物联网', '大数据'],
    isSettled: true,
    settledDate: '2023-07-22',
    contactInfo: {
      phone: '0571-88075998',
      email: 'contact@hikvision.com'
    }
  },
  {
    id: 8,
    name: '科大讯飞股份有限公司',
    logo: 'https://via.placeholder.com/120x120/165DFF/FFFFFF?text=讯飞',
    industry: '人工智能',
    description: '亚太地区知名的智能语音和人工智能上市企业，专注于语音及语言、自然语言理解、机器学习推理及自主学习等核心技术研究。',
    establishedYear: 1999,
    employees: '1.3万+',
    revenue: '183亿元',
    address: '安徽省合肥市高新区望江西路666号',
    website: 'https://www.iflytek.com',
    tags: ['语音识别', '自然语言处理', '机器翻译', '智能教育'],
    isSettled: true,
    settledDate: '2023-08-15',
    contactInfo: {
      phone: '0551-65331511',
      email: 'contact@iflytek.com'
    }
  }
];

export default companies;
